From b4ab4d883e3573c9559fbf17e5ab587e1e171194 Mon Sep 17 00:00:00 2001 From: Felipe Sere Date: Wed, 17 Dec 2014 20:56:33 +0000 Subject: [PATCH] Naive replacement of FromError --- src/cargo/lib.rs | 3 ++- src/cargo/ops/cargo_read_manifest.rs | 3 ++- src/cargo/util/errors.rs | 5 +---- src/cargo/util/mod.rs | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/cargo/lib.rs b/src/cargo/lib.rs index f277cd6a0..eb83228aa 100644 --- a/src/cargo/lib.rs +++ b/src/cargo/lib.rs @@ -27,6 +27,7 @@ extern crate url; extern crate registry; use std::os; +use std::error; use std::io::stdio::{stdout_raw, stderr_raw}; use std::io::{mod, stdout, stderr}; use rustc_serialize::{Decoder, Encoder, Decodable, Encodable}; @@ -58,7 +59,7 @@ mod cargo { #[macro_export] macro_rules! try { ($expr:expr) => ({ - use cargo::util::FromError; + use std::error::FromError; match $expr.map_err(FromError::from_error) { Ok(val) => val, Err(err) => return Err(err) diff --git a/src/cargo/ops/cargo_read_manifest.rs b/src/cargo/ops/cargo_read_manifest.rs index 5d3a6f32d..9e78c4f9d 100644 --- a/src/cargo/ops/cargo_read_manifest.rs +++ b/src/cargo/ops/cargo_read_manifest.rs @@ -3,9 +3,10 @@ use std::io::{mod, File, fs}; use std::io::fs::PathExtensions; use core::{Package,Manifest,SourceId}; -use util::{mod, CargoResult, human, FromError}; +use util::{mod, CargoResult, human}; use util::important_paths::find_project_manifest_exact; use util::toml::{Layout, project_layout}; +use std::error::FromError; pub fn read_manifest(contents: &[u8], layout: Layout, source_id: &SourceId) -> CargoResult<(Manifest, Vec)> { diff --git a/src/cargo/util/errors.rs b/src/cargo/util/errors.rs index 7dedfa953..2d4ccdf75 100644 --- a/src/cargo/util/errors.rs +++ b/src/cargo/util/errors.rs @@ -4,6 +4,7 @@ use std::fmt::{mod, Show, Formatter}; use std::str; use rustc_serialize::json; use semver; +use std::error::FromError; use curl; use docopt; @@ -27,10 +28,6 @@ pub trait CargoError: Send { } } -pub trait FromError { - fn from_error(error: E) -> Self; -} - impl FromError for Box { fn from_error(error: E) -> Box { box error as Box diff --git a/src/cargo/util/mod.rs b/src/cargo/util/mod.rs index 1ce80b094..f03a8ed2d 100644 --- a/src/cargo/util/mod.rs +++ b/src/cargo/util/mod.rs @@ -2,7 +2,7 @@ pub use self::config::Config; pub use self::process_builder::{process, ProcessBuilder}; pub use self::result::{Wrap, Require}; pub use self::errors::{CargoResult, CargoError, BoxError, ChainError, CliResult}; -pub use self::errors::{CliError, FromError, ProcessError}; +pub use self::errors::{CliError, ProcessError}; pub use self::errors::{process_error, internal_error, internal, human, caused_human}; pub use self::paths::{realpath, join_paths}; pub use self::lev_distance::{lev_distance}; -- 2.30.2